<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../print.css" type="text/css" media="print">
<meta content="HistoryManager,mx.managers.HistoryManager,initialize,register,save,unregister" name="keywords">
<title>mx.managers.HistoryManager</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'HistoryManager - Zentrum virtUOS: virtPresenter';
				var baseRef = '../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">virtPresenter AsDoc</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../all-classes.html')" href="../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../all-classes.html')" href="../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../index-list.html')" href="../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../index.html?mx/managers/HistoryManager.html&amp;mx/managers/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;HistoryManager</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class HistoryManager"); titleBar_setSubNav(false,false,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">mx.managers</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class HistoryManager</td>
</tr>
</table>
<p></p>
  History management lets users navigate through a Flex application
  using the web browser's Back and Forward navigation commands. 
  
  <p>In general, you should use the BrowserManager class and deep linking for maintaining state 
  in an application and manipulating URLs and browser history, but the HistoryManager class can 
  be useful under some circumstances, such as if you are maintaining a legacy Flex application.
  You cannot use the HistoryManager and the BrowserManager classes in the same Flex application, 
  even though they use the same set of supporting files.</p>
  
  <p>History management is enabled by default for the Accordion and TabNavigator containers. 
  This means that if the user selects one of the panes in an Accordion control, 
  that user can return to the previous pane by using the browser's Back button or back 
  navigation command. History management is disabled by default for the ViewStack 
  navigator container.</p>
  
  <p>You can disable history management by setting the navigator container's 
  <code>historyManagementEnabled</code> property to <code>false</code>.</p>
  
  <p>You can also enable history management for other objects
  in an application by registering the objects with the HistoryManager. To register a component 
  with the HistoryManager class, you call the HistoryManager class's <code>register()</code> 
  method with a reference to a component instance that implements the IHistoryManagerClient interface.
  In the following example, the Application component (<code>this</code>) is registered with 
  the HistoryManager class when the Application is initialized:
  <pre>
  &lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
    implements="mx.managers.IHistoryManagerClient" 
    initialize="mx.managers.HistoryManager.register(this);"&gt;
  </pre>
  You must also implement the <code>saveState()</code> and <code>loadState()</code> methods of the 
  IHistoryManagerClient interface to complete the registration of the component. Components that extend 
  UIComponent automatically inherit the <code>loadState()</code> method.</p>
  
  <p>All methods and properties of the HistoryManager are static,
  so you do not need to create an instance of it.</p>
   <p></p>
<p>
<span class="classHeaderTableLabel">See also</span>
</p>
<div class="seeAlso">
<a href="../managers/BrowserManager.html" target="">mx.managers.BrowserManager</a>
<br>
<a href="../managers/IHistoryManagerClient.html" target="">mx.managers.IHistoryManagerClient</a>
</div>
<br>
<hr>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#initialize()">initialize</a>(sm:<a href="ISystemManager.html">ISystemManager</a>):void</div>
<div class="summaryTableDescription">[static]
      DEPRECATED - Initializes the HistoryManager.</div>
</td><td class="summaryTableOwnerCol">HistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#register()">register</a>(obj:<a href="IHistoryManagerClient.html">IHistoryManagerClient</a>):void</div>
<div class="summaryTableDescription">[static]
      Registers an object with the HistoryManager.</div>
</td><td class="summaryTableOwnerCol">HistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#save()">save</a>():void</div>
<div class="summaryTableDescription">[static]
      Saves the application's current state so it can be restored later.</div>
</td><td class="summaryTableOwnerCol">HistoryManager</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#unregister()">unregister</a>(obj:<a href="IHistoryManagerClient.html">IHistoryManagerClient</a>):void</div>
<div class="summaryTableDescription">[static]
      Unregisters an object with the HistoryManager.</div>
</td><td class="summaryTableOwnerCol">HistoryManager</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="initialize()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">initialize</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public static function initialize(sm:<a href="ISystemManager.html">ISystemManager</a>):void</code><p>
      DEPRECATED - Initializes the HistoryManager. In general, this does not need to be called
      because any time you add a component with <code>historyManagementEnabled</code>, Flex
      calls this method. However, the HistoryManager will not work correctly if it is 
      not initialized from the top-level application. So, if your application does
      not have any HistoryManager enabled components in it and loads other sub-applications
      That do, you must call the <code>HistoryManager.initialize()</code> method in the 
      main application, usually from an <code>initialize</code> event handler on the application.
           </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">sm</span>:<a href="ISystemManager.html">ISystemManager</a></code> &mdash; SystemManager for this application.
     </td>
</tr>
</table>
</div>
<a name="register()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">register</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function register(obj:<a href="IHistoryManagerClient.html">IHistoryManagerClient</a>):void</code><p>
      Registers an object with the HistoryManager.
      The object must implement the IHistoryManagerClient interface.
           </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">obj</span>:<a href="IHistoryManagerClient.html">IHistoryManagerClient</a></code> &mdash; Object to register.
           </td>
</tr>
</table>
<p>
<span class="label">See also</span>
</p>
<div class="seeAlso">
<a href="../managers/IHistoryManagerClient.html" target="">mx.managers.IHistoryManagerClient</a>
</div>
</div>
<a name="save()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">save</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function save():void</code><p>
      Saves the application's current state so it can be restored later.
      This method is automatically called by navigator containers
      whenever their navigation state changes.
      If you registered an interface with the HistoryManager,
      you are responsible for calling the <code>save()</code> method
      when the application state changes.
     </p></div>
<a name="unregister()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">unregister</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public static function unregister(obj:<a href="IHistoryManagerClient.html">IHistoryManagerClient</a>):void</code><p>
      Unregisters an object with the HistoryManager.
           </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">obj</span>:<a href="IHistoryManagerClient.html">IHistoryManagerClient</a></code> &mdash; Object to unregister.
     </td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
